Add CI/CD pipeline#14
Merged
Merged
Conversation
- Add test workflow with parallel execution using pytest-xdist - Support multi-Python version testing (3.9, 3.10, 3.11) - Configure CPU-only mode to prevent GPU conflicts in CI - Add coverage reporting with pytest-cov and Codecov integration - Include code quality checks (black, isort, flake8) - Add documentation building workflow - Add PyPI publishing workflow for releases - Add manual test trigger workflow for debugging - Configure pytest settings in pyproject.toml - Fix test_verbose_batch_size_auto to work with parallel execution - Add CUDA_VISIBLE_DEVICES=-1 to prevent GPU conflicts - Add Dependabot configuration for automated updates - Add issue and PR templates All tests now pass with parallel execution enabled.
- Add .pre-commit-config.yaml with black, isort, flake8 hooks - Configure black with 89 char line limit to match existing style - Configure isort to be compatible with black - Format entire codebase with black and isort - Fix trailing whitespace and missing newlines - Update CI workflows to use consistent linting - Add pre-commit workflow for automated checks - Add scripts for easy formatting and setup - Update documentation with pre-commit instructions All Python files now follow consistent formatting standards.
- Fix boolean comparisons (E712) - use 'is' instead of '==' - Remove/comment unused imports (F401) - Convert f-strings without placeholders to regular strings (F541) - Replace bare except with specific exceptions (E722) - Fix unused variables with comments or underscore (F841, B007) - Fix lambda assignment to def (E731) - Fix undefined names in __all__ (F822) - Add docstrings for missing __init__ methods (D107) - Fix block comment formatting (E265) - Fix blank line formatting and whitespace (E306, W293, D202) - Add per-file-ignores for complex functions (C901) - Apply black formatting to ensure consistency All 69 flake8 errors have been resolved, code is now fully compliant.
- Remove trailing whitespace from YAML and markdown files - Fix line endings and formatting inconsistencies - Apply black formatting to remaining Python files - Clean up imports and whitespace These changes were automatically applied by pre-commit hooks.
The pyproject.toml already contains coverage configuration in addopts, so passing duplicate --cov arguments was causing conflicts.
- Add pytest-cov and pytest-xdist to dev dependencies - Remove coverage configuration from pyproject.toml to avoid conflicts - Keep coverage arguments only in GitHub Actions workflow
- Add windows module exports to locator/data/__init__.py - Export generate_genomic_windows function for window analysis tests - Fix numpy boolean comparison in test_model_persistence.py - Convert numpy.True_ to Python bool before comparison
- Add tensorflow import for GPU detection - Update GPU config test to handle case when GPU is not available - In CI with CUDA_VISIBLE_DEVICES=-1, mixed precision is correctly disabled
- Change 'data/' to '/data/' and './data/' to only exclude top-level data directories - Add windows.py to git tracking (was previously excluded) - This fixes ModuleNotFoundError for locator.data.windows in CI
- WindowGenerator class does not exist in windows.py - Only generate_genomic_windows function is available - This fixes ImportError in all test files
- Make parallel module imports optional when Ray is not installed - Add stub functions with helpful error messages for parallel methods - Fix duplicate object description warning for PlottingMixin.plot_history - This allows docs to build successfully without Ray dependency
- Prevent accidentally committing large output files from examples - This directory contains generated plots and CSVs from demo runs
- Filter out harmless protobuf version warnings from TensorFlow - Fix module path for parallel functions in api.rst (use locator.parallel not locator.parallel.parallel_analysis) - The protobuf warnings are from TensorFlow/Google libraries and cannot be fixed by us - Documentation should now build successfully
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan